A sliding member apparatus such as a sunroof apparatus of a vehicle has a sliding member disposed in an opening provided in a vehicle body. The sliding member is driven by an electric motor, thereby sliding between the two opposing ends of the opening for the opening and closing of the opening. For example, a sliding roof (sliding member) of a sunroof performs its tilt movement to tilt around the fulcrum provided and lying in the width direction of the vehicle so as to move its end close to the rear of the vehicle body upward and downward, and its sliding movement to slide in the longitudinal direction of the vehicle body. The sliding roof is connected to an output shaft of the drive motor and the rotation of the output shaft makes the sliding roof slide between the tilted position end and the sliding position end.
A stopper is provided at each of the opposing ends of the opening and comes into contact with the slider making the sliding roof slide, thereby stopping the sliding of the sliding roof. As a result, the sliding movement of the sliding roof is mechanically locked by the contact between the slider and the stopper. The sliding roof is arranged to be slidable within a range which is defined as a slidable range between a tilt lock end which is a mechanical stop position in a tilt-up movement and a slide lock end which is a mechanical stop position in a slide open movement.
At the time when the sliding roof is stopped at each of the above lock ends by the mechanical lock, a colliding noise occurs due to the contact between the members or the like, which may cause discomfort to passengers and the like.
To counter this, for example, US 2005/218850A1 (JP 2005-290938A, JP 2005-290939A) discloses a technique for stopping the motor slightly before the sliding roof reaches the mechanical lock end and using the inertial force occurring after the stopping of the motor to move the sliding roof to the fully open position in order to prevent a colliding noise from readily occurring when the sliding roof is stopped. The system according to this technique comprises a motor for driving a sliding member, a pulse generator which generates pulses according to rotation of the motor, a counter which counts the pulse, and a control circuit which controls the motor according to output signals generated by the counter. The system indirectly detected acquires the position of the sliding member on the basis of the count value of the pulse generated according to the rotation of the motor. The number of pulses is counted from a predetermined original position and the rotation of the motor is stopped when the count value reaches a value corresponding to a predetermined position before the sliding roof reaches the fully open position.
In this technique, the count value provided by the counter and an actual position of the sliding roof may differ from each other because of aging of the operating mechanism of the sunroof or the like. For example, if the sliding roof is forcibly opened/closed by hand or if the application of electric power to the counter is temporarily stopped during the sliding movement of the sliding roof, a difference between the actual position of the sliding roof and the count value provided by the counter, that is, the positional deviation of the sliding roof, arises. If such positional deviation occurs, it is necessary to correct the original position in order to achieve agreement between the actual position of the sliding roof and the count value provided by the counter.
For this purpose, the above sunroof apparatus detects such a positional deviation and resets the original position. Specifically, the movement range in which the sliding roof (i.e. sliding member) is slid by the rotational driving is set and a predetermined error detection range is set within the movement range. The range of the absolute count value of the pulse in this error detection range is stored in advance. Hence, when the sliding roof discontinues movement due to the detection of an overload, if the pulse count value counted by the counter falls within the range of the absolute count value, the system resets the pulse information at the lock position. As a result, when the positional deviation occurs on the sliding roof, the original position can be reset to correct the positional deviation.
However, when an overload is detected within the error detection range (i.e., the sliding roof is stopped due to a mechanical lock), the system determines that the positional deviation has occurred, and immediately resets the pulse information to set this position as a reference position. For this reason, even when the sliding roof is temporarily stopped by foreign object or the like caught in a gap in the mechanism, the system erroneously recognizes that the stopping has been caused by the positional deviation and changes the reference position, thereby causing disagreement between an actual position of the sliding roof and the pulse information.
In other words, even when the foreign object is caught between the sliding roof and the roof opening or between the slider and the stopper, the sliding movement of the sliding roof is also stopped. As a result, as in the above case when the positional deviation causes the sliding roof to be stopped by the lock mechanism, an overload may be detected in the error detection range to reset the pulse information.
In general, the condition of the positional deviation caused by aging or the like remains to be the same as long as the reference position is not reset, that is, it is continuous. On the other hand, the overload condition caused by the foreign object returns to the normal condition when the foreign object is removed, that is, it is temporary. For this reason, if the system misinterprets the stopping of the sliding roof caused by catching the foreign object as the stopping caused by the positional deviation, and resets the pulse information, then disagreement between the actual position of the sliding roof and the pulse information is caused after the foreign object has been removed, resulting in no stopping of the sliding roof at an appropriate position.
To overcome such a disadvantage, in US 2005-218850A1, when the sliding member is stopped due to overload detection, the opening/closing mode of the sliding member is automatically switched to the manual mode. Then, when the sliding member stops in a normal stopping position during the next opening/closing operation, the sliding member automatically returns to the automatic mode. At this time, however, when an overload is detected again in the same position as that in which an overload has been detected in the past and therefore, the sliding roof stops, the system determines that a positional deviation has occurred to reset the pulse information in the lock position. In this manner, it is possible to determine whether the stopping of the sliding roof is caused by an external factor such as foreign object or caused by a positional deviation due to aging or the like.
However, only when an overload is detected again in the same movement as that in which an overload has been detected in the past, it is determined that the sliding member produces a positional deviation and the pulse information is reset. Because of this, it can not be determined whether or not a positional deviation occurs as long as the sliding member is slid to the same position again. Because of such a restrictive condition for determining the positional deviation, when there occurs no situation that meets this condition, the non-determining state lasts for a long time. During that time, the actual position of the sliding roof cannot be made to agree with the pulse information, which makes it difficult to stop the sliding roof at an appropriate position.
In view of the above, there exists a need for a sliding member controller which overcomes the above mentioned problems in the conventional art. The present invention addresses this need in the conventional art as well as other needs, which will become apparent to those skilled in the art from this disclosure.